package com.shine.level.easy;

/**
 * //输入：x = 121
 * //输出：true
 * //输入：x = -121
 * //输出：false
 * //输入：x = 10
 * //输出：false
 * //输入：x = -101
 * //输出：false
 * 是否是回文数
 * @author zhangshao
 * @date 2021/6/15 3:52 下午
 */
public class IsPalindrome {
//    public static boolean isPalindrome(int x) {
//        String numStr = String.valueOf(x);
//        //如果负数,直接输出false
//        if("-".equals(numStr.substring(0,1))){
//            return false;
//        }
//        char[] chars = numStr.toCharArray();
//        int leftIndex = 0;
//        int rightIndex = chars.length-1;
//        while (leftIndex<rightIndex){
//            if(chars[leftIndex] == chars[rightIndex]){
//                leftIndex ++;
//                rightIndex --;
//            }else {
//                return false;
//            }
//        }
//        return true;
//
//    }

    /**
     * 使用反转的方式解决,如果能反转
     * @param x
     * @return
     */
    public static boolean isPalindrome(int x) {
        //排除负数
        if(x <0){
            return false;
        }
        //记录x原始值
        int temp = x ;

        long y = 0L;
        while (x!=0){
            y = y*10 + x%10;
            x = x/10;
        }
        return temp == y;
    }

    public static void main(String[] args) {
        boolean isPalindromeResult = isPalindrome(121);
        System.out.println(isPalindromeResult);
    }
}
